define(function(require, exports, module) {
	require('jquery');
	require('jcrop');
	require('jqueryform');

    var bl;

	function bytesToSize(bytes) {
		var sizes = ['Bytes', 'KB', 'MB'];
		if (bytes == 0) return 'n/a';
		var i = parseInt(Math.floor(Math.log(bytes) / Math.log(1024)));
		return (bytes / Math.pow(1024, i)).toFixed(1) + ' ' + sizes[i];
	};

	function checkForm() {
		if (parseInt($('#w').val())) return true;
		$('.error').html('仅支持JPG. gif, png 格式，文件小于5M. ').show();
		return false;
	};

	// 更新裁切的图片
	function updateInfo(e) {
		$('#x1').val(e.x*bl);
		$('#y1').val(e.y*bl);
		$('#x2').val(e.x2*bl);
		$('#y2').val(e.y2*bl);
		$('#w').val(e.w*bl);
		$('#h').val(e.h*bl);
	};

	// clear info by cropping (onRelease event handler)
	function clearInfo() {
		$('.info #w').val('');
		$('.info #h').val('');
	};
	function fileSelectHandler() {

        

		// get selected file
		var oFile = $('#image_file')[0].files[0];


		// hide all errors
		$('.error').hide();

		// check for image type (jpg and png are allowed)
		var rFilter = /^(image\/jpeg|image\/jpg|image\/png|image\/gif)$/i;
		if (!rFilter.test(oFile.type)) {
			$('.error').html('请选择图像文件').show();
			return;
		}

		// check for file size
		if (oFile.size > 3264 * 2448) {
			$('.error').html('文件太大，请选择一张稍小点的图片').show();
			return;
		}

		// preview element
		var oImage = document.getElementById('preview');









		// prepare HTML5 FileReader
		var oReader = new FileReader();
		oReader.onload = function(e) {

            console.log(oImage);
			// e.target.result contains the DataURL which we can use as a source of the image
			oImage.src = e.target.result;
			oImage.onload = function() { // onload event handler
				// display step 2
				$('.step2').fadeIn(500);

				// display some basic image info
				var sResultFileSize = bytesToSize(oFile.size);
				$('#filesize').val(sResultFileSize);
				$('#filetype').val(oFile.type);
				$('#filedim').val(oImage.naturalWidth + ' x ' + oImage.naturalHeight);



                bl = (oImage.naturalWidth/300).toFixed(2);




				// Create variables (in this scope) to hold the Jcrop API and image size
				var jcrop_api, boundx, boundy;

				// destroy Jcrop if it is existed
				if (typeof jcrop_api != 'undefined') jcrop_api.destroy();

				// initialize Jcrop
				$('#preview').Jcrop({
					minSize: [32, 32],
					addClass: 'jcrop-light',
					// min crop size
					aspectRatio: 1,
					// keep aspect ratio 1:1
					bgFade: true,
					// use fade effect
					bgOpacity: .3,
					// fade opacity
					onChange: updateInfo,
					onSelect: updateInfo,
					onRelease: clearInfo
				},
				function() {
					
					// use the Jcrop API to get the real image size
					var bounds = this.getBounds();
					boundx = bounds[0];
					boundy = bounds[1];

					// Store the Jcrop API in the jcrop_api variable
					jcrop_api = this;
					jcrop_api.setSelect([0, 0, 32*bl, 32*bl]);
					jcrop_api.setOptions({
						bgFade: true
					});
					jcrop_api.ui.selection.addClass('jcrop-selection');
				});
			};
		};
		// Download by http://www.codefans.net	
		// read selected file as DataURL
		oReader.readAsDataURL(oFile);

	}

	$(document).on('change','#image_file',fileSelectHandler);



	$(document).on('submit','#upload_form',function() {

		$(this).ajaxSubmit({
			type:"post",
			//提交方式  
			dataType:'json',
			//数据类型  
			url: "/myprofile/uploadavatar",
			//请求url  
			success: function(data) { //提交成功的回调函数  
				/*if(data.error_code=='0'){
					$('#preview').attr('src',data.face).css({'width':'150px','height':'150px','display':'block','visibility':'visible'});
                	$('.jcrop-holder').hide();
                    setTimeout(function(){
                        window.location='/myprofile';
                        //location.reload(true);
                    },1000);
				}else{
					alert(data.msg);
				}*/
			}
		});

		return false;

	});



});

